package com.ruoyi.service;

import com.ruoyi.entity.DecorationTag;

import java.util.List;

/**
 * 装饰画标签关联服务接口
 *
 * @author ruoyi
 */
public interface DecorationTagService {

    /**
     * 获取装饰画关联的标签列表
     *
     * @param decorationId 装饰画ID
     * @return 标签关联列表
     */
    List<DecorationTag> listTagsByDecorationId(Integer decorationId);

    /**
     * 为装饰画添加标签
     *
     * @param decorationId 装饰画ID
     * @param tagId 标签ID
     * @return 是否添加成功
     */
    boolean addTag(Integer decorationId, Integer tagId);

    /**
     * 移除装饰画的标签
     *
     * @param decorationId 装饰画ID
     * @param tagId 标签ID
     * @return 是否移除成功
     */
    boolean removeTag(Integer decorationId, Integer tagId);

    /**
     * 批量添加装饰画标签
     *
     * @param decorationId 装饰画ID
     * @param tagIds 标签ID列表
     * @return 是否添加成功
     */
    boolean batchAddTags(Integer decorationId, List<Integer> tagIds);

    /**
     * 批量移除装饰画标签
     *
     * @param decorationId 装饰画ID
     * @param tagIds 标签ID列表
     * @return 是否移除成功
     */
    boolean batchRemoveTags(Integer decorationId, List<Integer> tagIds);
}
